<%# locals: (name:, value: nil, label: nil, description: nil, escape_description: true, attributes: {}) %>
<% value = typecast_body_params.str(name) || value
description_html = escape_description ? h(description) : description
error = flash.dig("errors", name) %>

<div class="space-y-2">
  <% if label %>
    <label for="<%= name %>" class="block text-sm font-medium leading-6 text-gray-900"><%= label %></label>
  <% end %>
  <textarea
    id="<%= name %>"
    name="<%= name %>"
    class="block w-full rounded-md border-0 py-1.5 shadow-sm ring-1 ring-inset focus:ring-2 focus:ring-inset text-sm sm:leading-6 <%= error ? "text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500" : "text-gray-900 ring-gray-300 placeholder:text-gray-400 focus:ring-orange-600" %>"
    <%== html_attrs(attributes) %>
  ><%= value %></textarea>
  <% if description %>
    <p class="text-sm text-gray-500 leading-6" id="<%= name %>-description"><%== description_html %></p>
  <% end %>
  <%== part("components/form/error", name:, error:) if error %>
</div>
